Method and System for Dynamic Searchable Symmetric Encryption with Forward Privacy and Delegated Verifiability

ABSTRACT

A DSSE architecture network enables multi-user such as data owners and data users to conduct privacy-preserving search on the encrypted PHIs stored in a cloud network and verify the correctness and completeness of retrieved search results simultaneously is provided. The data owners and data users may be patients, HSPs, or combination thereof. An IoT gateway aggregates periodically collected data into a single PHI file, extract keywords, build an encrypted index, and encrypt the PHI files before the encrypted index and PHI files are transmitted to a cloud network periodically for storage thus enable the DSSE architecture network to achieve a sub-linear search efficiency and forward privacy by maintaining an increasing counter for each keyword at the IoT gateway. Since the PHI files are always transmitted and added/stored into the cloud storage over the cloud network, file deletion, file modification is eliminated. The cloud network therefore does not need to learn whether the newly stored PHI files contain specific keywords. Any number of HSPs such as data users provides healthcare services for the patient by searching, querying, and/or retrieving user&#39;s encrypted PHIs incrementally stored on the cloud network in a privacy and verifiable manner. The patient delegated verifiability is derived from a combination of a Bloom filter and aggregate message authentication code.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to a U.S. provisional patent application Ser. No. 62/366,320, filed Jul. 25, 2016, the contents of which are incorporated herein by reference as if fully enclosed herein.

FIELD

This disclosure relates generally to searchable symmetric encryption and, more particularly, to a dynamic searchable symmetric encryption system and method with forward privacy and delated verifiability.

BACKGROUND

Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to the prior arty by inclusion in this section.

The integration of cloud computing and Internet of Things (IoTs) is quickly becoming the key enabler for the digital transformation of the healthcare industry by offering comprehensive improvements in patient engagements, productivity and risk mitigation. In a typical e-healthcare setting, a group of wearable and/or implantable devices such as smart watches, bracelets, or pacemakers, which forms a wireless body area network (BAN), gathers key vital signals such as heart rate, blood pressure, temperature, or pulse oxygen from patients at home periodically. These information is aggregated into a single file known as personal health information (PHI) at an IoT gateway and then is forwarded to a cloud server for storage. Third party healthcare service providers (HSPs) can monitor patients' PHI and provide timely diagnosis and reactions by submitting on-demand queries to a cloud storage. Although the increasing adoption of cloud computing and IoT services in healthcare industry help reduce IT cost and improve patient outcomes, this paradigm shift has raised security and privacy concerns such as data and security breaches that is vulnerable to malicious attacks, software bugs or accidental errors. In particular, the healthcare regulations such as the Health Insurance Portability and Accountability Act (HIPAA) and the Health Information Technology for Economic and Clinical Health Act (HITECH) explicitly require that PHI be secured even as it migrates to the cloud infrastructure.

While simply encrypting PHI before outsourcing to the cloud can ensure the regulatory compliance of a healthcare system, it makes PHI utilization such as query submitted by third party HSPs particularly challenging. Conventional searchable encryption technology which allows encrypted documents to be searched as is by augmenting them with an encrypted search index is available. One example of the searchable encryption technology is static searchable symmetric encryption (SSE) which processes static datasets on encrypted database but does not support subsequent updates or dynamic datasets. Another example of the searchable encryption technology is dynamic SSE where a large static dataset is first processed and outsourced to the cloud storage, followed by a number of infrequent update operations. However, the dynamic SSE does not support forward privacy to prevent the cloud server from inferring sensitive information such as activity pattern or diet habit related to a patient based solely on observation of the stored encrypted indices to another data user and/or HSPs.

Thus, there is a long felt need to improve the existing system and method.

SUMMARY

A summary of certain embodiments disclosed herein is set forth below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of these certain embodiments and that these aspects are not intended to limit the scope of this disclosure. Indeed, this disclosure may encompass a variety of aspects that may not be set forth below.

Embodiments of the disclosure related to a dynamic searchable symmetric encryption (DSSE) system and method with forward privacy and delated verifiability. The DSSE system includes an IoT gateway, a cloud network, and at least one HSP coupled to a cloud server via the cloud network. A user such as a patient is connected to the DSSE system via any number of client devices that are either portable and/or wearable. The IoT gateway aggregates periodically collected data into a single PHI file, extract keywords, build an encrypted index, and encrypt the PHI files. The encrypted index and PHI files are then transmitted to the cloud network having a cloud server for storage. For the cloud server to retrieve multiple or all file identifiers having specific keyword, a chaining scheme is provided to implicitly link tuples corresponding to the same keyword together. The cloud server then obtains all file identifiers by iterating such scheme until the key is λ-bit of zero. The cloud server maintains a bloom filter (BF_(s)) and puts each received encrypted keyword

₁(

, w∥cnt) into the bloom filter BF_(s). An authorized user generates a symmetric key r and is securely shared with the cloud server. All authorized users such that a search token of keyword w generated by authorized users be SE.Enc(r, (

(

, w∥cnt)),

_(cnt)) and the cloud server can recover (

(

, w∥cnt),

_(cnt)) with the stored r via SE.Dec, where SE is a secured symmetric encryption. The authorized users use the timestamp T together with the bloom filter BF_(c) to generate the MAC. New file is periodically uploaded so that authorized users can use the timestamp T to assure the aggregate MAC is newly generated by the data owner. Authorized users may use at least one binary search to accelerate the guessing of the latest counter cnt.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of this disclosure will become better understood when the following detailed description of certain exemplary embodiments is read with reference to the accompanying drawings in which like characters represent like arts throughout the drawings, wherein:

FIG. 1 is a block diagram of a dynamic searchable symmetric encryption (DSSE) architecture network in accordance with a described embodiment of the disclosure.

FIG. 2 is a table illustrating a full-fledged DSSE construction for use in the DSSE architecture network of FIG. 1 in accordance with a described embodiment of the disclosure.

DETAILED DESCRIPTION

The following description is presented to enable any person skilled in the art to make and use the described embodiments, and is provided in the context of a particular application and its requirements. Various modifications to the described embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the described embodiments. Thus, the described embodiments are not limited to the embodiments shown, but are to be accorded the widest scope consistent with the principles and features disclosed herein.

A DSSE architecture network enables multi-user such as data owners and data users to conduct privacy-preserving search on the encrypted PHIs stored in a cloud network and verify the correctness and completeness of retrieved search results simultaneously is provided. The data owners and data users may be patients, HSPs, or combination thereof. An IoT gateway generates PHI files and transmits the PHI files to a cloud network periodically for storage thus enable the DSSE architecture network to achieve a sub-linear search efficiency and forward privacy by maintaining an increasing counter for each keyword at the IoT gateway. The cloud network therefore does not need to learn whether the newly stored PHI files contain specific keywords. Any number of HSPs such as data users provides healthcare services for the patient by searching, querying, and/or retrieving user's encrypted PHIs incrementally stored on the cloud network in a privacy and verifiable manner. In one embodiment, the patient delegated verifiability derives from a combination of a Bloom filter and aggregate message authentication code.

FIG. 1 illustrates an exemplary embodiment of a dynamic searchable symmetric encryption (DSSE) architecture network 100. The DSSE architecture network 100 includes an IoT gateway 102, a cloud network 108, and at least one HSP 112 coupled to a cloud server 110 via the cloud network 108. A user such as a patient 104 is connected to the DSSE architecture network 100 via any number of client devices that are either portable and/or wearable. Although not illustrated, the DSSE architecture network 100 can accommodate any number of client devices carried or worn by the patient 104. One or more client devices defined as BAN 106 monitor health status of the patient 104 and the client devices connected to each other may exchange and share the monitored health status. For example, the client devices may be pacemakers, wrist health monitoring systems, watches, bracelets, rings, patches, headbands, wristbands, chest bands, glasses, goggles, hearing aids, earpieces, headphones, thin or thick client devices, cellular phones, tablets, personal digital assistants, laptops, or any suitable client devices. The IoT gateway 102 is a data aggregator and is configured to aggregate periodically collected data into a single PHI file, extract keywords, build an encrypted index, and encrypt the PHI files. Although one IoT gateway 102 is illustrated, more than one IoT gateway 102 may be connected and integrated into the DSSE architecture network 100. The encrypted index and PHI files are then transmitted to the cloud network 108 for storage. The cloud server 110, in some embodiments, can represent one or more servers, one or more data stores, and so on. In alternate embodiments, the cloud server 110 can be distributed over plural cloud networks 108 using any protocol or combination of protocols. As an example, the cloud server 110 can represent a cloud storage that provide storage resources at one or more locations. The user 104 can interact with the cloud storage using the client devices of BAN 106 via the IoT gateway 012. In one embodiment, the encrypted index and the PHI files created by the IoT gateway 102 is stored in the cloud network 108 periodically for example every 10 minutes. In some embodiments, the PHI files may be stored in the cloud network 108 periodically in any predetermined threshold. Since the PHI files are always transmitted and added/stored into the cloud storage over the cloud network 108, file deletion, file modification is eliminated. Multiple HSPs 112 may be data users and provide healthcare services for the patient 104 by searching, querying, and/or retrieving user's encrypted PHIs incrementally stored on the cloud network 108 in a privacy and verifiable manner. One or more HSPs 112 may obtain search token τ_(w) for word _(w) from the IoT gateway 102 through a secure channel.

The data owner or the patient 104 associates to each keyword and counter, indicating the number of outsourced encrypted files having the keyword. That is, the data owner or the patient 104 locally maintains the state information, i.e. pairs of keyword and the counter. Suppose the counter associated to keyword w is cnt, the index with respect to w, stored in the cloud server 110 of the cloud network 108 is:

$\begin{matrix} {{\tau_{1} = {\mathcal{F}_{1}\left( {,{w{}1}} \right)}},{{ID}\left( f_{1} \right)}} \\ {{\tau_{2} = {\mathcal{F}_{1}\left( {,{w{}2}} \right)}},{{ID}\left( f_{2} \right)}} \\ \cdots \\ {{\tau_{{cnt} - 1} = {\mathcal{F}_{1}\left( {,{{w{}{cnt}} - 1}} \right)}},{{ID}\left( f_{{cnt} - 1} \right)}} \\ {{\tau_{cnt} = {\mathcal{F}_{1}\left( {,{w{}{cnt}}} \right)}},{{ID}\left( f_{cnt} \right)}} \end{matrix}$

Where F1 is a secure pseudorandom function, K is a private key and f1 . . . , f_(cnt) are files having keyword w.

When adding a new file f containing the keyword w, the data owner or the patient 104 generates

τ_(cnt+1)=

₁(

,w∥ _(cnt)+1),ID(f)

which is sent to the cloud server 110 of the cloud network 108, thus, the cloud server 110 does not know whether T_(cnt+1) is generated from the keyword w the same as that of T_(i), 1≤i≤cnt. The data owner or the patient 104 does not need to maintain all previous states for each keyword w locally in order to achieve forward privacy because there is no file deletion for streaming data.

For the cloud server 110 to retrieve multiple or all file identifiers having specific keyword, a chaining scheme is provided to implicitly link tuples corresponding to the same keyword together, assuming τ₀=

₁ (

, w∥0)):

     τ₁ = ℱ₁(, w1), ⟨τ₀0^(λ)⟩ ⊕ ℱ₂(₁, τ₁), ID(f₁)      τ₂ = ℱ₁(, w2), ⟨τ₁₁⟩ ⊕ ℱ₂(₂, τ₂), ID(f₂)      ⋯ τ_(cnt − 1) = ℱ₁(, w(cnt − 1)), ⟨τ_(cnt − 2)_(cnt − 2)⟩ ⊕ ℱ₂(_(cnt − 1), τ_(cnt − 1)), ID(f_(cnt − 1))      τ_(cnt) = ℱ₁(, wcnt), ⟨τ_(cnt − 1)_(cnt − 1)⟩ ⊕ ℱ₂(_(cnt), τ_(cnt)), ID(f_(cnt))

where F₂ is another secure pseudorandom function and K_(i), 1≤i≤cnt is a random key derived from the counter i. Without knowing K_(i), i≥cnt, the server cannot link T_(cnt) with T_(j), j<cnt, even though K_(i) and T_(cnt) may be generated from the same keyword but different counter cnt. On the other hand, given T_(cnt) and K_(cnt), the cloud server 110 is able to obtain ID(f_(cnt)) and recover T_(cnt−1) and T_(cnt−1) by computing:

τ_(cnt−1)∥

_(cnt−1)

⊕

₂(

_(cnt),

_(cnt))⊕

₂(

_(cnt),τ_(cnt))

The cloud server 100 then obtains all file identifiers by iterating such process until the key is λ-bit of zero.

FIG. 2 illustrates a full-fledged DSSE construction 200 for use in the DSSE architecture network of FIG. 1. A document-and-guess approach is implemented wherein the cloud server 110 maintains a bloom filter (BF_(s)) and puts each received encrypted keyword

₁(

, w∥cnt) into the bloom filter BF_(s). The authorized user such as HSP, having a secret key and fetching BF_(s) from the cloud server 110, can guess the latest counter value by enumerating (1, . . . , cnt, cnt+1) such that

₁(

, w∥cnt) is an element hashed to BF_(s). In order to allow the data owner or the patient 104 using any suitable client devices or BANs 106 to revoke authorized user's search capability, a group key approach is implemented wherein the data owner or the patient 104 generates a symmetric key r and is securely shared with the cloud server 110. All authorized users, e.g. HSP, such that a search token of keyword w generated by authorized users be SE.Enc(r, (

(

, w∥cnt),

_(cnt)) and the cloud server 110 can recover (

(

, w∥cnt),

_(cnt)) with the stored r via SE.Dec, where SE is a secured symmetric encryption. When an authorized data user is revoked, the data owner using any suitable client devices or BANs 106 only needs to update the group key r to r′ and the revoked user cannot generate valid search token without knowing r′.

In the data owner side, each entry of the hash table TBL_(c) includes (w, cnt, γ_(cnt)), where γ_(cnt) is the aggregation of the MAC for the concatenation of the file and w. Concatenating the file and w as input prevents the replacement attack, i.e. given keyword w₁, the cloud server 110 may return the aggregate MAC and the set of file identifiers, which is the search result of w₂ if both keywords have the same number of returning file identifiers. Also, the data owner using any suitable client devices or BANs 106 uses the timestamp T together with the bloom filter BF_(c) to generate the MAC to further prevent the replaying attack that the cloud server may return stale search result. New file is periodically uploaded for example every ten minutes or any suitable threshold so that authorized users can use the timestamp T to assure the aggregate MAC is newly generated by the data owner. Authorized users may use at least one binary search to accelerate the guessing of the latest counter cnt. In one embodiment, the authorized user sets a large enough upper bound Max and conducts a binary search for the latest counter cnt with [1, Max} such that

₁(

, w∥cnt) is an element hashed to BF_(s) while

₁(

, w∥cnt+1) is not. The number of elements hashed into BF_(s) then become very huge; when generating

₁(

, w∥cnt) for keyword w, the counter value cnt is always increasing. To keep low false positive rate, a regular update scheme is implemented. Given the state information TBL_(c), the data owner using any suitable client devices or BANs 106 regularly generates a new bloom filter BF_(c) which implicitly stores the current counter cnt_(L) for each keyword w, generates the MAC and sends BF_(c) and the MAC to the cloud server. In one embodiment, the data owner using any suitable client devices or BANs 106 hashes

₁(

, w∥pos∥digit_(pos)) to BF_(c) where digit_(pos) is the latest significant digit of cnt_(L) where pos=1, and the authorized user can guess cnt_(L) by enumerating the combination of pos=1, . . . and digit_(pos)=0, . . . 9. The cloud server lets BF_(s)=BF_(c). After receiving BF_(s), the authorized user extracts the counter cnt_(L) and then guesses the latest counter starting from cnt_(L). In doing so, BF_(s) only contains elements with counters beginning from cnt_(L) rather than from 1 from the keyword w, and therefore its size can be reduced while either keeping the same false positive rate or keeping the false positive rate low.

The embodiments described above have been shown by way of example, and it should be understood that these embodiments may be susceptible to various modifications and alternative forms. It should be further understood that the claims are not intended to be limited to the particular forms disclosed, but rather to cover all modifications, equivalents, and alternatives falling with the sprit and scope of this disclosure.

Embodiments within the scope of the disclosure may also include non-transitory computer-readable storage media or machine-readable medium for carrying or having computer-executable instructions or data structures stored thereon. Such non-transitory computer-readable storage media or machine-readable medium may be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such non-transitory computer-readable storage media or machine-readable medium can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. Combinations of the above should also be included within the scope of the non-transitory computer-readable storage media or machine-readable medium.

Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network.

Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.

While the patent has been described with reference to various embodiments, it will be understood that these embodiments are illustrative and that the scope of the disclosure is not limited to them. Many variations, modifications, additions, and improvements are possible. More generally, embodiments in accordance with the patent have been described in the context or particular embodiments. Functionality may be separated or combined in blocks differently in various embodiments of the disclosure or described with different terminology. These and other variations, modifications, additions, and improvements may fall within the scope of the disclosure as defined in the claims that follow. 

What is claimed is:
 1. A dynamic searchable symmetric encryption (DSSE) system comprising: a body area network (BAN) generates a first symmetric key (r); a health service provider (HSP) generates a search token of keyword (w) using a second symmetric key (r′) after the HSP is revoked; and a cloud network is communicatively coupled the HSP to the BAN; wherein the BAN updates the first symmetric key (r) to the second symmetric key (r′) after the HSP is revoked, the cloud network recovers the search token using the second symmetric key (r′).
 2. The DSSE system of claim 1 wherein the cloud network recovers a second search token using the first symmetric key (r) before the HSP is revoked, the second token is different from the first search token.
 3. The DSSE system of claim 2 further comprising a cloud server, the cloud server is configured to maintain a bloom filter (BF).
 4. The DSSE system of claim 3 wherein the BAN further generates a MAC using a timestamp T and the BF.
 5. The DSSE system of claim 3 further comprising a gateway configured to periodically collect data from at least one of HSP and BAN and aggregate the collected data in a single personal health information (PHI) file.
 6. The DSSE system of claim 5 wherein the gateway is further configured to perform at least one of the features including extract keywords from, build an encrypted index into, and encrypt the PHI files.
 7. The DSSE system of 6 wherein the gateway transmits the PHI file including the encrypted index to the cloud server for storage.
 8. The DSSE system of claim 7 wherein the cloud server is within the cloud network.
 9. The DSSE system of claim 8 wherein the HSP retrieves the BF from the cloud server using a secret key.
 10. The DSSE system of claim 5, wherein the BAN is a pacemaker, wrist health monitoring device, a watch, a bracelet, a ring, a patch, headband, a wristband, a chest hand, a glasses, a goggle, a hearing aid, an earpiece, or a headphone. 